package nl.ViewerServer.ServerManager.DataManager.Objects;

import java.util.HashMap;

import nl.ViewerServer.ServerManager.DataManager.PipelineObjects.Pipeline;

public class Visualization {
   public final int                   visualizationId;
   public final String                name;
   public final String                visualizationType;
   public final transient boolean     requiresAlignedModalities;
   protected transient Pipeline       visualization;
   protected HashMap<Integer, Output> outputs               = new HashMap<Integer, Output>();
   protected transient Output         selectedOutput        = null;
   protected transient Pipeline       visualizationPipeline = null;
   protected transient final String   visualizationACL;

   public String getVisualizationACL() {
      return visualizationACL;
   }

   public Visualization( int visualizationId, String name, String visualizationType, String visualizationACL,
         boolean requiresAlignedSources ) {
      this.visualizationId = visualizationId;
      this.name = name;
      this.visualizationType = visualizationType;
      this.requiresAlignedModalities = requiresAlignedSources;
      this.visualizationACL = visualizationACL;
   }

   public void addOutput( Output output ) {
      outputs.put( output.outputId, output );
   }

   public Output getOutput( int outputId ) {
      return outputs.get( outputId );
   }

   public int getVisualizationId() {
      return visualizationId;
   }

   public HashMap<Integer, Output> getOutputs() {
      return outputs;
   }

}
